home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d966.lha / UChessSrc / UChess269.readme < prev    next >
Text File  |  1994-02-15  |  18KB  |  461 lines

  1. Short: UChess269.lha is an AGA/ECS Chess Pgm KS 2.04, 5M+ RAM, 68020+ needed.
  2.  
  3. Recent: v2.69 is latest release
  4.  
  5. Change History:
  6.  
  7. v2.69
  8. Fixed some endgame deficencies, in King-Knight-Bishop vs King
  9. endgame.  Fixed some lookahead bugs, and some slight mouse vs
  10. kbd display bugs.
  11.  
  12. v2.67
  13. Totally new eval/search.  This is based on gnuchess 4PL67 with
  14. many enhancements.  Searchs more nodes per ply, so will get
  15. fewer ply on slow machines, but plays better.  Also support for 
  16. Super72 mode 800X600X64 or 256 colors.  New CLI arg Super72, new 
  17. Tooltype SUPER72=1.  The L version requires 9M or more
  18. of FASTRAM (like before, but this was not clear to everyone).
  19. This version plays much more competitively vs skilled players
  20. and good computers, less daring against lesser opponents though.
  21. May not be as well suited to slower systems (020/030's), but
  22. in all tests it seems stronger, even on A3000/25's.
  23. (in computer v computer tests this version went 7-1-2 vs
  24. Sargon5 on a 486, v2.54 usually went about 3-5-2 or so)
  25.  
  26. v2.54
  27. Fixed some bugs with resign, and a small bug in undo
  28. which caused mate msg to be displayed if you
  29. undid mate.
  30. Plays the same as 2.53
  31.  
  32. v2.53
  33. Finally after days of effort I managed to find and
  34. fix a couple of bugs introduced in 2.50 with the new
  35. search on opponents time code...
  36. Bug fixes and changes to genmove (movelist) nullmove
  37. routines, and especially to search on opponents time
  38. logic.
  39.  
  40. v2.52
  41. Bug fixes to load game, and to transposition table routines.
  42. Some attempt to deal with eval == 20000 bug.
  43. Major speedup of movelist routines, speed of search and
  44. eval greatly increased.
  45.  
  46. v2.51
  47. Slight enhancement to endgame eval routines.
  48.  
  49. v2.50
  50. Many changes incorporated from the Gnuchess 4PL64 release.
  51. Any changes that did not conflict with UChess specific changes,
  52. were merged into this version.  Changes to endgame (major)
  53. eval and search routines were made, to bring this
  54. version up to Gnuchess 4PL64 standards.
  55. Many changes to clock handling routine, UChess now
  56. manages its clock MUCH better, and thinking on opponents
  57. time is MUCH improved, making UChess far better than
  58. before when this feature is enabled.
  59. NOTE: Rate Pgm is now slower than before, it takes it
  60. longer to calc some move situations because of a bug
  61. fix to the history table.  The older way resulted
  62. in missed moves, but could calc some situations faster,
  63. but not correctly.  This new way results in slower calcs,
  64. but correct calc of moves.
  65.  
  66. v2.35
  67. Cleaned up Mating routines, UChess will now choose shortest
  68. route to mate and not keep searching beyond that to come
  69. up with strange endgame moves.
  70. Fixed some eval and search buglets and fixed a side
  71. effect in Take Back move.  Now take back move will
  72. clear out history buffer, so re-eval of moves after
  73. takeback will result in best move being made, not
  74. necessarily a different move from the last choice.
  75. Taking Back a move now takes much more time, but
  76. results in steady gameplay.  Prior version often chose
  77. alternate moves after take back a move was chosen.
  78. Redid some of the positional modifiers in eval routines,
  79. this version seems to play quite a bit stronger and
  80. steadier than previous versions, when pressed.
  81. Recompiled using SAS/C 6.51
  82.  
  83. v2.33
  84. Same as v 2.32 but fixes some problems that prevented 2.32
  85. from running on machines without AmigaDOS 3.0 or later.
  86. This version runs on AmigaDOS 2.04 or later.
  87.  
  88. v2.32 (recompiled using SAS/C 6.50)
  89. New Display Option for AGA machines, at startup you can
  90. specify FASTAGA (or 64) at the CLI or you can use the FASTAGA=1
  91. or COLORS=64 arguments in the Workbench ICON, this opens UCHess on
  92. a 640X480 or 640X512 64 Color Screen, for additional speed.
  93. Especially helps display speed in the MultiScan Productivity mode.
  94. It looks almost as good the 256 color screen and is much faster.
  95.  
  96. Rewrote some routines in 68020+ Assembly language, and
  97. re-aligned many data items for more nodes/sec eval speed.
  98. Redid the entire opening book code, uchess will now
  99. look for uchess:uchesswhite.book when playing as
  100. white and uchess:uchessblack.book when playing as
  101. black, if it cannot find these it reverts to uchess:uchess.book.
  102. Sample white/black/neutral books enclosed, but much
  103. improvement/tuning of these books is needed.
  104. In general the white/black should work best for now.
  105. In the future I hope to come up with really optimal
  106. white/black openings and include these, at least for
  107. now the pgm will avoid openings that are real detrimental
  108. to it by splitting the book into 2 parts.
  109. Also made the edit request autoactivate the edit string gadget,
  110. for more convenient edit game entry.
  111. Also added a resign feature, if you have started the game
  112. in a regular manner at advanced level, and you get over
  113. 9.5 pts ahead of UChess, it will offer to resign (once).
  114. If you load a saved game, or edit the board, it will
  115. not offer to resign.  It will only offer to resign the game
  116. one time.
  117.  
  118. v2.31
  119. Re-Arranged the new game feature so it now pays
  120. attention to the skill level when setting up a new board.
  121. All new games came up as Advanced before, regardless
  122. of skill level chosen
  123.  
  124. v2.30
  125. Added a Level feature for play vs the computer.
  126. 3 levels are available, Advanced (same as before)
  127. Intermediate (Knight Odds), and Easy (Knight + Queen Odds)
  128.  
  129. Choosing these options will force a new game, with you
  130. are white and UChess as black, UChess will have its
  131. Knights removed on Intermediate, and its Knights+Queen
  132. removed on Easy.  Advanced is an equal game, like
  133. past versions
  134.  
  135.  
  136. v2.28
  137. fixed a bug in the initialization and re-initialization
  138. of the cache and transposition tables.
  139. Makes for more consistent play and a better start for
  140. the computer when using the new game option.
  141.  
  142. v2.27
  143. Just recompiled using __USE_SYSBASE for a bit more perfomance
  144. of system exec routines.
  145.  
  146. v2.26
  147. Fixed many bugs in the transposition table routines, which
  148. would cause crashes during overnight analysis with 2.25, also
  149. affected play somewhat, this version can handle overnight
  150. analysis, long games with no problems.  2.25 and some
  151. earlier versions could corrupt memory if they computed
  152. too long (for hours). 
  153. Redid the compute rating equation, for a bit more realistic
  154. rating.  With the major speed improvements of 2.25, the old
  155. rating equation was a bit off, giving an inflated rating of the
  156. pgm.  This new equation is somewhat better.
  157.  
  158. v2.25
  159. Major speed enhancements, this version should play FAR stronger
  160. thanks to rearrangement of Cache Tables.
  161. Major endgame changes as in gnuchess 4 pl 61, for lone
  162. king endings.
  163.  
  164. v2.18
  165. Attempted to reduce the number of "wild" moves that
  166. the program makes.  Under rare circumstances, the
  167. pgm would make wild moves based on poorly considering
  168. the users response move.  This should not happen much
  169. any longer.  May take more time to come up with a move
  170. in these cases though.  Should prevent it from throwing
  171. games away.
  172.  
  173. v2.17
  174. Fixed a minor bug in thinkahead move choice.
  175.  
  176. v2.16
  177. Finally found a longstanding bug screwing up move selection with
  178. thinking on.  Thinking on now helps a lot, it also does not
  179. screw up judicious use of the clock by the program.
  180.  
  181. v2.15
  182. Further refined conditions when thinkahead move is taken, or additional
  183. thinking beyond the current ply is warranted.  Refined for more likely
  184. choice of the thinkahead move in very short (<10secs/move) games
  185.  
  186. v2.14
  187. Fiddled with timing when thinkahead move is guessed correctly,
  188. it was taking its thinkahead move immediately if it was as deep,
  189. or deeper, than the previous move it pondered, it now only takes the
  190. move immediately if it is as deep or deeper and at least 4 plys in
  191. depth.
  192.  
  193. v2.12
  194. Added a rating feature, based on fact that the gnuchess 4pl60
  195. core plays at about 2300 on an IBM/RS6000, and that each
  196. doubling of processor speed results in a 75 pt ratings improvement,
  197. the pgm will estimate its USCF strength on your machine.
  198. On an A4000 the L version is about 2200 USCF or so.
  199.  
  200. v2.11
  201. Fixed a bug in dialog window for depth control.
  202.  
  203. v2.10
  204. Redid time control so that on long matches, it will not
  205. try and search too far ahead, if it guessed right.
  206. It was trying for real deep searches when it would
  207. result in massive overtime for the last level, on some
  208. occasions, hurting play later by forcing the pgm to
  209. rush too much.
  210. Also load/save game now updates clock display when it loads,
  211. and sets move now accordingly.
  212.  
  213. v2.09
  214. Fixed bug when depth mode was on, thinking was on, and show
  215. thinking was on, it was disabling show thinking in those cases.
  216. Cleaned up timing a bit.
  217. IT IS NOT CLEAR TO ME THAT THINKING ON HELPS.
  218. I am testing this, it may be that with thinking mode off, it
  219. plays more consistent chess, I am not sure though.
  220.  
  221. v2.07
  222. Added Depth Control, and Book Control Options
  223. To use Depth Control, just set it to # of plys you
  224. want the pgm to look ahead, it will then finish its move
  225. when it finishes that ply, regardless of time.
  226. Book Control just allows you to enable/disable opening book
  227.  
  228. v2.06
  229. Fixes a problem with mem alloc which showed up under Mungwall, it is
  230. now 100% enforcer and Mungwall clean.  Guards against loading improper
  231. game files.  Other Minor fixes.
  232.  
  233. V2.05
  234. Redoes the time control routine for thinking mode on.
  235. In earlier 2.0x versions, the forced timeout mode when
  236. thinking is on could result in poor move selection
  237. in some circumstances, this fix should allow fewer mistakes
  238. in move selection with thinking on, when computer is forced
  239. to stop searching a ply earlier than it would like.
  240.  
  241. V2.04
  242. Fixes a display bug that occurs occasionally when castling with a mouse,
  243. asks for a pal screen specifically on 15Khz 256 color systems.
  244.  
  245. V2.03
  246. Fixes a bug in Load game which caused a crash on some machines when
  247. pgm is run at pri >0.
  248. Move now command is now more immediate.
  249.  
  250. V2.02
  251. Bugs in v2.01 and 2.00 disallowed Move Now, and Underpromotion
  252. of pawns. This is now fixed.  Move now is enabled for
  253. Move times avg 1min or more.
  254.  
  255. V2.01
  256. Added an additional CLI arg and tooltype, from CLI
  257. type "UChess 15Khz" if you have an AGA machine and want 
  258. to force a 640X480X256 color 15Khz screen, may not be enough
  259. overscan for whole screen to be visible on monitor.
  260. From WB you can use the MONITOR=15KHZ tooltype to force this.
  261. Pgm will auto default to 15Khz 256 color screen if you have
  262. and AGA machine with no multiscan monitor in devs:monitors,
  263. to force 16 colors use 16 color arg.  The 16 color screen
  264. will fit easily on a 640X400 display, the 256 color
  265. screen will not fit on a 640X400 display.  People with
  266. PAL machines should have no problems fitting it all on
  267. a 640X512 15Khz screen.
  268.  
  269. This version fixes MAJOR time control bugs present in v2.0
  270.  
  271.  
  272. V2.0
  273. I widened the search for this version and it has defeated
  274. version 1.01 head to head 10 out of 10 times.
  275. I belive this version plays MUCH stronger chess than
  276. version 1.01!
  277.  
  278. -Roger
  279.  
  280.  
  281. V1.01
  282. This is version 1.01, it cleans up the 16 color graphics and
  283. makes them look much better than in version 1.0
  284. That is the onluy change.
  285. See Uchess.doc for details
  286.  
  287.  
  288. -Roger
  289.  
  290. UChess versions which end in L are optimized for the 68040 processor,
  291. require 10M or MORE of FAST RAM, and play stronger than the non L
  292. versions.
  293. Versions which do not end in L require 4M of FAST RAM, and are
  294. optimized for 68030 processors, and play slightly weaker than the
  295. L versions.
  296.  
  297. Source code for Gnuchess 4p58 which is what this pgm is based on
  298. is available from valkyries.andrew.cmu.edu via ftp.  
  299. This code rearranges some of the function arguments, data structures,
  300. and adds an additional level of transposition table caching to Gnuchess
  301. 4p58, but uses the same logic as gnuchess 4p58 otherwise.
  302.  
  303.  
  304. This program is freely distributable.
  305.  
  306.  
  307. UChess is a powerful version of the program GnuChess version 4 for
  308. the Amiga, code has been re-written and data structures re-organized
  309. for optimal efficiency on 32 bit 68020 and better Amiga systems.
  310. The program fully multitasks, automatically detects and supports
  311. 640X480X256 color AGA mode machines, and does not at any
  312. time BUSY wait.
  313.  
  314. In head to head competition with Checkmate, on the same
  315. machine, UChess has a record of 9 wins, 0 losses, 1 draw.
  316.  
  317. Program requires:
  318.  
  319. A 68020/030/040 based Amiga computer system
  320. AmigaDOS version 37 (2.04) or later
  321. 4 Megabytes or more of RAM, 3.5M of FREE FAST RAM.
  322. (L version requires 8.5M of FREE fast RAM)
  323.  
  324. Program auto-detects AGA capable machines, and will try and use
  325. a 640X480X256 color VGA_PRODUCTIVITY screen, if not it defaults
  326. to using a 16 color 640X400 HIRES LACE screen.
  327.  
  328. The 16 color screen is not very attractive, the pgm is designed
  329. to be run on a 31Khz monitor (multisync or VGA) on an AGA machine.
  330.  
  331. Use of the 640X480X256 color mode (best mode) requires AGA Based Amiga
  332. MultiSync Monitor/or Monitor capable of displaying VGA_PRODUCTIVITY mode
  333. The Correct monitor type in devs:Monitors on your WB disk
  334.  
  335. To Install UCHESS:
  336.  
  337. Copy the library lh.library to your libs: directory.
  338.  
  339. If you are using an AGA machine, you should make sure that
  340. the MULTISYNC monitor is in your devs:monitors directory,
  341. if you have a multisync or VGA monitor.
  342.  
  343. In your startup sequence, you should put an ASSIGN UCHESS: <yourdir>,
  344. but you do not have to.  The program will do the Assign for
  345. you as the default directory when you boot up.
  346.  
  347. Make a directory and copy all files (except lh.library, which goes
  348. in libs:) to this new directory, using the CLI copy command.
  349.  
  350. You can run this program from the CLI or WorkBench, if run from
  351. the workbench.  The only CLI argument you can use is "16", this
  352. will force the program to open a 16 color screen, regardless
  353. of hardware.
  354.  
  355.  
  356. Using the Program.
  357.  
  358. Startup Options:
  359.  
  360. You can run UChess from the CLI or workbench, from the
  361. CLI you can enter 2 optional arguments, one is the priority
  362. you want foreground thinking to run at (0-4) the other
  363. is if you want to force a 16 color display, you type in 16.
  364. So you can type UChess 16 0 to force a 16 color display
  365. and a priority of 0.  You can also enter 2 TOOLTYPES into
  366. the UChess icon, one is PRI=<pnum> and other is COLORS=16|256
  367. They are the same as the CLI equivalents.
  368.  
  369.  
  370. <<NOTE: The program writes a MoveList text file for each game
  371.         to the t: directory., you need to have t: assigned somewhere,
  372.         or the pgm will ask for it.  The default workbench Startup-
  373.         Sequence assigns t: for you >>
  374.  
  375. You can enter moves in algebraic or reduced algebraic notation using
  376. the keyboard, or you can use the Mouse to click and HOLD onto the
  377. piece you want, let go of the mouse button after you have moved 
  378. the piece over the square you want it to occupy.
  379.  
  380. The following is a brief of the menus and choices in the program,
  381.  
  382. File Menu -
  383.  About - shows a brief description of the program
  384.  New Game - Starts a new game from scratch
  385.  Load Game - Load a previously saved game
  386.  Save Game - Save the current game to disk
  387.  List Game - List the moves of current game to a file
  388.  Quit - return to AmigaDOS
  389.  
  390. View Menu -
  391.  2-D - Only View Available
  392.  
  393.  Edit Board - Edit current board.  To edit the board you enter
  394. the piece character, followed by the square you want it on.
  395. Valid piece chars are ' ' for none, 'p', 'n', 'b', 'q', 'k', 'r'.
  396. For example pa8 puts a pawn at a8, <space>a8 clears square a8.
  397. You can clear the entire board, and color of the piece is determined
  398. by the WHITE/BLACK Boolean Gadget.
  399.  
  400.  Reverse - Not Implemented
  401.  
  402. Control Menu -
  403.  Swap Sides - Change Sides with Computer (black <=> white)
  404.  AutoPlay - Computer Plays Itself
  405.  Move Now - Implemented when computers avg move is 1 min or more.
  406.  forces computer to make its move immediately.
  407.  Undo - Undo Last 1/2 move
  408.  
  409.  Thinking - Toggle computer thinking on your time, 
  410.   With this mode on, (checked), the computer will think about
  411.   its next move while it is your turn, like a person would.  
  412.   When this is on, you will find the computer may be sluggish 
  413.   to respond to your first mouse/keypress, but it will interrupt
  414.   itself and respond within a second.  Be aware of this fact,
  415.   when you type a key, or press the mouse button, you stop
  416.   the computers thinking on your time, and it will not
  417.   resume until next turn.  IT MAY TAKE A SECOND OR SO TO
  418.   PROCESS YOUR KEYPRESS/MENU SELECTION WHEN THIS OPTION IS ON.
  419.  
  420. ShwThnk - Shows computers thinking process, in Depth, Score and move.
  421. 100 pts = 1 pawn in this thinking process.
  422.  
  423. Supervisor mode - Allows 2 humans to play each other with computer
  424. as sort of a supervisor.
  425.  
  426. Special Menu -
  427.  Hint - Computer gives advise as to your next move.
  428.  Test - Test processor speed.  This speed of lookup depends
  429.         on currect board config, so for comparison
  430.         purposes between machines, test the speed with
  431.         the exact same board layout, for black and white!
  432.         An Amiga 4000 gets about 80,000 movelist nodes/sec
  433.         and 3700 eval nodes/sec on a new board.  Sometimes
  434.         a bit more.
  435.  Set Time - Brings up a window for you to set time constraints
  436.             for the computer.  It is in the form XX moves in XX minutes.
  437.             For Tournament conditions people often use 40 moves/120 mins
  438.             Default is 60 moves in 10 minutes (approx 10 secs/move)
  439.  
  440.  
  441. Notes on running vs other chess PGMS on the same machine:
  442.  
  443. 1) Make sure thinking on opponents time is DISABLED for each pgm.
  444. 2) make sure UChess is at a high priority, UChess DOES NOT BUSY WAIT
  445.    so it will always make 100% of the processor available to the
  446.    opposing pgm when it is not UChess's turn.  Other chess pgms
  447.    are not as well written, and will hog 100% of the CPU even
  448.    when it is NOT their turn and thinking is off.  For this
  449.    reason you should always have UChess running at a higher
  450.    priority than its opponent, Uchess WILL NEVER steal CPU
  451.    cycles from an opposing pgm if thinking in UChess is off.
  452. 3) Make sure both pgms have suffucient FAST RAM available to them!
  453.  
  454.  
  455. Please report any problems to me, Roger Uzun
  456. at 
  457. uzun@crash.cts.com
  458. or
  459. uzun@netcom.netcom.com
  460. or on bix as ruzun.
  461.